#pragma once
#include "CVector3f.h"
class CPerlinNoise
{
private:

	static const int m_sizeArray = 512;
	static const int p[m_sizeArray];
	static const int permutation[m_sizeArray];

private:
	static double fade(double t);
	static double grad(int hash, double x, double y, double z);
	static double lerp(double t, double a, double b);
	

public:
	static float perlin(const CVector3f& p, float persistance, int octave);
	static double noise(double x, double y, double z);
	
};